package cn.org.intelli.lims.o2oa.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@AllArgsConstructor
@NoArgsConstructor
@Data
public class RestResult<T> {

  /**
   * 1.status状态值：代表本次请求response的状态结果。
   */
  private Boolean status;
  /**
   * 2.response描述：对本次状态码的描述。
   */
  private String message;
  /**
   * 3.data数据：本次返回的数据。
   */
  private T data;

  /**
   * 成功，创建ResResult：包含data数据
   */
  public static RestResult sucess(Object data) {
    RestResult result = new RestResult();
    result.setStatus(true);
    result.setData(data);
    return result;
  }

  /**
   * 失败，指定status、desc
   */
  public static RestResult fail(String message) {
    RestResult result = new RestResult();
    result.setStatus(false);
    result.setMessage(message);
    return result;
  }
}
